Project 8 - Due Tue Mar 31 at 23:00
Reading
- Slides and notebooks from the Nested Loops lecture and the Files lecture.
- Problems and solutions from Lab 8 (Nested Loops) and Lab 9 (Tracing & Files).
- Think Python (3rd edition), Ch. 13: Files and Databases (only sections 13.1 and 13.2)
- Think Python (2nd edition): Chapter 14: Files (only sections 14.1, 14.2, 14.4, 14.5) You should ignore section 14.3 Format Operator, since it is superseded by the more advanced f-string construct described in Sec 13.2 of the 3rd edition
Tasks
The instructions for each task:
-
Task 1: Train Inventory — Use nested loops to write functions for dealing with inventory on a train. You must complete ONE of the trainInventory, wordSearch, OR quadrats tasks; only one will count for your grade. For this task, having a partner is optional but recommended.
-
Task 2: Word Search — Use nested loops to solve word search puzzles. You must complete ONE of the trainInventory, wordSearch, OR quadrats tasks; only one will count for your grade. For this task, having a partner is optional but recommended.
-
Task 3: Quadrats — Use nested loops to process grids of species counts. You must complete ONE of the trainInventory, wordSearch, OR quadrats tasks; only one will count for your grade. For this task, having a partner is optional but recommended.
- Task 4: Transcript Manager — Write functions which operate on chat transcripts and use file I/O to store their results in output files. For this task, having a partner is optional but recommended.
About this Project
These tasks will give you practice with nested loops and files.
You must do two tasks: one related to nested loops, and one related to files:
-
For nested loops, you may choose one of these three tasks:
trainInventory,wordSearch, orquadrats.trainInventoryis the easiest of the three, whilewordSearchand especiallyquadratswill give you more practice with indexing 2D grids. If you plan to head straight to CS230 after CS111, it might be a good idea to try two of these three nested loops tasks. - For files, you are required to do the
transcriptManagertask.
If you want to find a partner to work with for this project, use this Google Sheet to do so.
Reminders
- Remember to download the starter code for each task from the Potluck server.
Time Estimate
Our per-task estimate for this project is 2-4 hours, plus up to an hour of reading.
How to turn in this Project
-
Upload your tasks via the Potluck server by the deadline (Tue Mar 31 at 23:00).
- For trainInventory, each team member must submit
trainInventory.py. - For wordSearch, each team member must submit
wordSearch.py. - For quadrats, each team member must submit
quadrats.py. - For transcriptManager, each team member must submit
transcriptManager.py.
- For trainInventory, each team member must submit
-
Double-check the status of your submitted tasks, since there may be warnings.
-
Reminder: you can submit as many times as you like, and only the most recent submission will count for your grade.
-
If you run into trouble with the submissions server, contact Peter Mawhorter, and include a copy of the file(s) you were trying to submit.
- Check your score for each task and submit revisions if you need to.